﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum ВидыЗанятостиВОрганизации
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"4d03c4b9-059c-4daa-8427-e7fe8439b39d\", \"Представление\":\"ОсновноеМестоРаботы\"}")]
		ОсновноеМестоРаботы = 0,//Основное место работы
		[EnumMember(Value = "{\"Ссылка\":\"8a595ccc-cfb7-4bb5-afce-854037ab8ae4\", \"Представление\":\"Совместительство\"}")]
		Совместительство = 1,//Внешнее совместительство
		[EnumMember(Value = "{\"Ссылка\":\"7fa9bc1c-f852-4d77-82a5-033d41455c9d\", \"Представление\":\"ВнутреннееСовместительство\"}")]
		ВнутреннееСовместительство = 2,//Внутреннее совместительство
	}
	public static partial class ВидыЗанятостиВОрганизации_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОсновноеМестоРаботы = new Guid("fee72784-3984-9db3-4daa-059c4d03c4b9");//Основное место работы
		public static readonly Guid Совместительство = new Guid("4085ceaf-ab37-e48a-4bb5-cfb78a595ccc");//Внешнее совместительство
		public static readonly Guid ВнутреннееСовместительство = new Guid("3d03a582-4541-9d5c-4d77-f8527fa9bc1c");//Внутреннее совместительство
		public static ВидыЗанятостиВОрганизации Получить(this ВидыЗанятостиВОрганизации Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыЗанятостиВОрганизации Получить(this ВидыЗанятостиВОрганизации Значение, Guid Ссылка)
		{
			if(Ссылка == ОсновноеМестоРаботы)
			{
				return ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
			}
			else if(Ссылка == Совместительство)
			{
				return ВидыЗанятостиВОрганизации.Совместительство;
			}
			else if(Ссылка == ВнутреннееСовместительство)
			{
				return ВидыЗанятостиВОрганизации.ВнутреннееСовместительство;
			}
			return ВидыЗанятостиВОрганизации.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыЗанятостиВОрганизации Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыЗанятостиВОрганизации Значение)
		{
			switch (Значение)
			{
				case ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы: return ОсновноеМестоРаботы;
				case ВидыЗанятостиВОрганизации.Совместительство: return Совместительство;
				case ВидыЗанятостиВОрганизации.ВнутреннееСовместительство: return ВнутреннееСовместительство;
			}
			return Guid.Empty;
		}
	}
}